/**
 * @author zhaozhenjiang
 * 创建数据库软件安装响应文件
 * */

package com.auto.oracle;

final class installResponse {
	private createFile resp = null;
	private createParams para = null;
	public installResponse(String base_path,String resp_name,createParams para){
		resp = new createFile(base_path, resp_name);
		this.para = para;
	}
	
	private void createFileFor11201(){
		resp.append("oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0");
		resp.append("oracle.install.option=INSTALL_DB_SWONLY");
		resp.append("ORACLE_HOSTNAME=localhost.localdomain");
		resp.append("UNIX_GROUP_NAME=oinstall");
		resp.append("INVENTORY_LOCATION=" + para.getOraclePath() + "/app/oraInventory");
		resp.append("SELECTED_LANGUAGES=en,zh_CN");
		resp.append("ORACLE_HOME=" + para.getOraclePath() + "/app/oracle/product/" + para.getVersion() + "/db_1");
		resp.append("ORACLE_BASE=" + para.getOraclePath() + "/app/oracle");
		resp.append("oracle.install.db.InstallEdition=EE");
		resp.append("oracle.install.db.isCustomInstall=false");
		resp.append("oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0");
		resp.append("oracle.install.db.DBA_GROUP=dba");
		resp.append("oracle.install.db.OPER_GROUP=oinstall");
		resp.append("oracle.install.db.CLUSTER_NODES=");
		resp.append("oracle.install.db.config.starterdb.type=GENERAL_PURPOSE");
		resp.append("oracle.install.db.config.starterdb.globalDBName=" + para.getInstanceName());
		resp.append("oracle.install.db.config.starterdb.SID=" + para.getInstanceName());
		resp.append("oracle.install.db.config.starterdb.characterSet=" + para.getCharsetType());
		resp.append("oracle.install.db.config.starterdb.memoryOption=true");
		resp.append("oracle.install.db.config.starterdb.memoryLimit=");
		resp.append("oracle.install.db.config.starterdb.installExampleSchemas=false");
		resp.append("oracle.install.db.config.starterdb.enableSecuritySettings=true");
		resp.append("oracle.install.db.config.starterdb.password.ALL=oracle");
		resp.append("oracle.install.db.config.starterdb.password.SYS=");
		resp.append("oracle.install.db.config.starterdb.password.SYSTEM=");
		resp.append("oracle.install.db.config.starterdb.password.SYSMAN=");
		resp.append("oracle.install.db.config.starterdb.password.DBSNMP=");
		resp.append("oracle.install.db.config.starterdb.control=DB_CONTROL");
		resp.append("oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=");
		resp.append("oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false");
		resp.append("oracle.install.db.config.starterdb.dbcontrol.emailAddress=");
		resp.append("oracle.install.db.config.starterdb.dbcontrol.SMTPServer=");
		resp.append("oracle.install.db.config.starterdb.automatedBackup.enable=false");
		resp.append("oracle.install.db.config.starterdb.automatedBackup.osuid=");
		resp.append("oracle.install.db.config.starterdb.automatedBackup.ospwd=");
		resp.append("oracle.install.db.config.starterdb.storageType=");
		resp.append("oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=");
		resp.append("oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=");
		resp.append("oracle.install.db.config.asm.diskGroup=");
		resp.append("oracle.install.db.config.asm.ASMSNMPPassword=");
		resp.append("MYORACLESUPPORT_USERNAME=");
		resp.append("MYORACLESUPPORT_PASSWORD=");
		resp.append("SECURITY_UPDATES_VIA_MYORACLESUPPORT=");
		resp.append("DECLINE_SECURITY_UPDATES=true");
		resp.append("PROXY_HOST=");
		resp.append("PROXY_PORT=");
		resp.append("PROXY_USER=");
		resp.append("PROXY_PWD=");
	}
	
	private void createFileFor11204(){
		resp.append("oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0");
		resp.append("oracle.install.option=INSTALL_DB_SWONLY");
		resp.append("ORACLE_HOSTNAME=localhost.localdomain");
		resp.append("UNIX_GROUP_NAME=oinstall");
		resp.append("INVENTORY_LOCATION=" + para.getOraclePath() + "/app/oraInventory");
		resp.append("SELECTED_LANGUAGES=en,zh_CN");
		resp.append("ORACLE_HOME=" + para.getOraclePath() + "/app/oracle/product/" + para.getVersion() + "/db_1");
		resp.append("ORACLE_BASE=" + para.getOraclePath() + "/app/oracle");
		resp.append("oracle.install.db.InstallEdition=EE");
		resp.append("oracle.install.db.EEOptionsSelection=false");
		resp.append("oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0");
		resp.append("oracle.install.db.DBA_GROUP=dba");
		resp.append("oracle.install.db.OPER_GROUP=oinstall");
		resp.append("oracle.install.db.CLUSTER_NODES=");
		resp.append("oracle.install.db.isRACOneInstall=false");
		resp.append("oracle.install.db.racOneServiceName=");
		resp.append("oracle.install.db.config.starterdb.type=GENERAL_PURPOSE");
		resp.append("oracle.install.db.config.starterdb.globalDBName=" + para.getInstanceName());
		resp.append("oracle.install.db.config.starterdb.SID=" + para.getInstanceName());
		resp.append("oracle.install.db.config.starterdb.characterSet=" + para.getCharsetType());
		resp.append("oracle.install.db.config.starterdb.memoryOption=true");
		resp.append("oracle.install.db.config.starterdb.memoryLimit=");
		resp.append("oracle.install.db.config.starterdb.installExampleSchemas=false");
		resp.append("oracle.install.db.config.starterdb.enableSecuritySettings=true");
		resp.append("oracle.install.db.config.starterdb.password.ALL=oracle");
		resp.append("oracle.install.db.config.starterdb.password.SYS=");
		resp.append("oracle.install.db.config.starterdb.password.SYSTEM=");
		resp.append("oracle.install.db.config.starterdb.password.SYSMAN=");
		resp.append("oracle.install.db.config.starterdb.password.DBSNMP=");
		resp.append("oracle.install.db.config.starterdb.control=DB_CONTROL");
		resp.append("oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=");
		resp.append("oracle.install.db.config.starterdb.automatedBackup.enable=false");
		resp.append("oracle.install.db.config.starterdb.automatedBackup.osuid=");
		resp.append("oracle.install.db.config.starterdb.automatedBackup.ospwd=");
		resp.append("oracle.install.db.config.starterdb.storageType=");
		resp.append("oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=");
		resp.append("oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=");
		resp.append("oracle.install.db.config.asm.diskGroup=");
		resp.append("oracle.install.db.config.asm.ASMSNMPPassword=");
		resp.append("MYORACLESUPPORT_USERNAME=");
		resp.append("MYORACLESUPPORT_PASSWORD=");
		resp.append("SECURITY_UPDATES_VIA_MYORACLESUPPORT=");
		resp.append("DECLINE_SECURITY_UPDATES=true");
		resp.append("PROXY_HOST=");
		resp.append("PROXY_PORT=");
		resp.append("PROXY_USER=");
		resp.append("PROXY_PWD=");
		resp.append("PROXY_REALM=");
		resp.append("COLLECTOR_SUPPORTHUB_URL=");
		resp.append("oracle.installer.autoupdates.option=SKIP_UPDATES");
		resp.append("oracle.installer.autoupdates.downloadUpdatesLoc=");
		resp.append("AUTOUPDATES_MYORACLESUPPORT_USERNAME=");
		resp.append("AUTOUPDATES_MYORACLESUPPORT_PASSWORD=");
	}
	
	private void createFileFor12102(){
		resp.append("oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.1.0");
		resp.append("oracle.install.option=INSTALL_DB_SWONLY");
		resp.append("ORACLE_HOSTNAME=localhost.localdomain");
		resp.append("UNIX_GROUP_NAME=oinstall");
		resp.append("INVENTORY_LOCATION=" + para.getOraclePath() + "/app/oraInventory");
		resp.append("SELECTED_LANGUAGES=en,zh_CN");
		resp.append("ORACLE_HOME=" + para.getOraclePath() + "/app/oracle/product/" + para.getVersion() + "/db_1");
		resp.append("ORACLE_BASE=" + para.getOraclePath() + "/app/oracle");
		resp.append("oracle.install.db.InstallEdition=EE");
		resp.append("oracle.install.db.DBA_GROUP=dba");
		resp.append("oracle.install.db.OPER_GROUP=oinstall");
		resp.append("oracle.install.db.BACKUPDBA_GROUP=dba");
		resp.append("oracle.install.db.DGDBA_GROUP=dba");
		resp.append("oracle.install.db.KMDBA_GROUP=dba");
		resp.append("oracle.install.db.rac.configurationType=ADMIN_MANAGED");
		resp.append("oracle.install.db.CLUSTER_NODES=");
		resp.append("oracle.install.db.isRACOneInstall=false");
		resp.append("oracle.install.db.racOneServiceName=");
		resp.append("oracle.install.db.rac.serverpoolName=");
		resp.append("oracle.install.db.rac.serverpoolCardinality=");
		resp.append("oracle.install.db.config.starterdb.type=GENERAL_PURPOSE");
		resp.append("oracle.install.db.config.starterdb.globalDBName=" + para.getInstanceName());
		resp.append("oracle.install.db.config.starterdb.SID=" + para.getInstanceName());
		resp.append("oracle.install.db.ConfigureAsContainerDB=false");
		resp.append("oracle.install.db.config.PDBName=");
		resp.append("oracle.install.db.config.starterdb.characterSet=" + para.getCharsetType());
		resp.append("oracle.install.db.config.starterdb.memoryOption=true");
		resp.append("oracle.install.db.config.starterdb.memoryLimit=");
		resp.append("oracle.install.db.config.starterdb.installExampleSchemas=false");
		resp.append("oracle.install.db.config.starterdb.password.ALL=oracle");
		resp.append("oracle.install.db.config.starterdb.password.SYS=");
		resp.append("oracle.install.db.config.starterdb.password.SYSTEM=");
		resp.append("oracle.install.db.config.starterdb.password.DBSNMP=");
		resp.append("oracle.install.db.config.starterdb.password.PDBADMIN=");
		resp.append("oracle.install.db.config.starterdb.managementOption=DEFAULT");
		resp.append("oracle.install.db.config.starterdb.omsHost=");
		resp.append("oracle.install.db.config.starterdb.omsPort=");
		resp.append("oracle.install.db.config.starterdb.emAdminUser=");
		resp.append("oracle.install.db.config.starterdb.emAdminPassword=");
		resp.append("oracle.install.db.config.starterdb.enableRecovery=false");
		resp.append("oracle.install.db.config.starterdb.storageType=");
		resp.append("oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=");
		resp.append("oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=");
		resp.append("oracle.install.db.config.asm.diskGroup=");
		resp.append("oracle.install.db.config.asm.ASMSNMPPassword=");
		resp.append("MYORACLESUPPORT_USERNAME=");
		resp.append("MYORACLESUPPORT_PASSWORD=");
		resp.append("SECURITY_UPDATES_VIA_MYORACLESUPPORT=");
		resp.append("DECLINE_SECURITY_UPDATES=true");
		resp.append("PROXY_HOST=");
		resp.append("PROXY_PORT=");
		resp.append("PROXY_USER=");
		resp.append("PROXY_PWD=");
		resp.append("PROXY_REALM=");
		resp.append("COLLECTOR_SUPPORTHUB_URL=");
	}
	
	private void createFileFor12201(){
		resp.append("oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.2.0");
		resp.append("oracle.install.option=INSTALL_DB_SWONLY");
		resp.append("UNIX_GROUP_NAME=oinstall");
		resp.append("INVENTORY_LOCATION=" + para.getOraclePath() + "/app/oraInventory");
		resp.append("ORACLE_HOME=" + para.getOraclePath() + "/app/oracle/product/" + para.getVersion() + "/db_1");
		resp.append("ORACLE_BASE=" + para.getOraclePath() + "/app/oracle");
		resp.append("oracle.install.db.InstallEdition=EE");
		resp.append("oracle.install.db.DBA_GROUP=dba");
		resp.append("oracle.install.db.OPER_GROUP=oinstall");
		resp.append("oracle.install.db.BACKUPDBA_GROUP=dba");
		resp.append("oracle.install.db.DGDBA_GROUP=dba");
		resp.append("oracle.install.db.KMDBA_GROUP=dba");
		resp.append("oracle.install.db.OSRACDBA_GROUP=dba");
		resp.append("oracle.install.db.rac.configurationType=ADMIN_MANAGED");
		resp.append("oracle.install.db.CLUSTER_NODES=");
		resp.append("oracle.install.db.isRACOneInstall=false");
		resp.append("oracle.install.db.racOneServiceName=");
		resp.append("oracle.install.db.rac.serverpoolName=");
		resp.append("oracle.install.db.rac.serverpoolCardinality=");
		resp.append("oracle.install.db.config.starterdb.type=GENERAL_PURPOSE");
		resp.append("oracle.install.db.config.starterdb.globalDBName=" + para.getInstanceName());
		resp.append("oracle.install.db.config.starterdb.SID=" + para.getInstanceName());
		resp.append("oracle.install.db.ConfigureAsContainerDB=false");
		resp.append("oracle.install.db.config.PDBName=");
		resp.append("oracle.install.db.config.starterdb.characterSet=" + para.getCharsetType());
		resp.append("oracle.install.db.config.starterdb.memoryOption=true");
		resp.append("oracle.install.db.config.starterdb.memoryLimit=");
		resp.append("oracle.install.db.config.starterdb.installExampleSchemas=false");
		resp.append("oracle.install.db.config.starterdb.password.ALL=oracle");
		resp.append("oracle.install.db.config.starterdb.password.SYS=");
		resp.append("oracle.install.db.config.starterdb.password.SYSTEM=");
		resp.append("oracle.install.db.config.starterdb.password.DBSNMP=");
		resp.append("oracle.install.db.config.starterdb.password.PDBADMIN=");
		resp.append("oracle.install.db.config.starterdb.managementOption=DEFAULT");
		resp.append("oracle.install.db.config.starterdb.omsHost=");
		resp.append("oracle.install.db.config.starterdb.omsPort=");
		resp.append("oracle.install.db.config.starterdb.emAdminUser=");
		resp.append("oracle.install.db.config.starterdb.emAdminPassword=");
		resp.append("oracle.install.db.config.starterdb.enableRecovery=false");
		resp.append("oracle.install.db.config.starterdb.storageType=");
		resp.append("oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=");
		resp.append("oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=");
		resp.append("oracle.install.db.config.asm.diskGroup=");
		resp.append("oracle.install.db.config.asm.ASMSNMPPassword=");
		resp.append("MYORACLESUPPORT_USERNAME=");
		resp.append("MYORACLESUPPORT_PASSWORD=");
		resp.append("SECURITY_UPDATES_VIA_MYORACLESUPPORT=");
		resp.append("DECLINE_SECURITY_UPDATES=true");
		resp.append("PROXY_HOST=");
		resp.append("PROXY_PORT=");
		resp.append("PROXY_USER=");
		resp.append("PROXY_PWD=");
		resp.append("PROXY_REALM=");
		resp.append("COLLECTOR_SUPPORTHUB_URL=");
	}
	
	private void createFileFor12202(){
		resp.append("oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v18.0.0");
		resp.append("oracle.install.option=INSTALL_DB_SWONLY");
		resp.append("UNIX_GROUP_NAME=oinstall");
		resp.append("INVENTORY_LOCATION=" + para.getOraclePath() + "/app/oraInventory");
		resp.append("ORACLE_HOME=" + para.getOraclePath() + "/app/oracle/product/" + para.getVersion() + "/db_1");
		resp.append("ORACLE_BASE=" + para.getOraclePath() + "/app/oracle");
		resp.append("oracle.install.db.InstallEdition=EE");
		resp.append("oracle.install.db.DBA_GROUP=dba");
		resp.append("oracle.install.db.OPER_GROUP=oinstall");
		resp.append("oracle.install.db.BACKUPDBA_GROUP=dba");
		resp.append("oracle.install.db.DGDBA_GROUP=dba");
		resp.append("oracle.install.db.KMDBA_GROUP=dba");
		resp.append("oracle.install.db.OSRACDBA_GROUP=dba");
		resp.append("oracle.install.db.CLUSTER_NODES=");
		resp.append("oracle.install.db.config.starterdb.type=GENERAL_PURPOSE");
		resp.append("oracle.install.db.config.starterdb.globalDBName=" + para.getInstanceName());
		resp.append("oracle.install.db.config.starterdb.SID=" + para.getInstanceName());
		resp.append("oracle.install.db.ConfigureAsContainerDB=false");
		resp.append("oracle.install.db.config.PDBName=");
		resp.append("oracle.install.db.config.starterdb.characterSet=" + para.getCharsetType());
		resp.append("oracle.install.db.config.starterdb.memoryOption=");
		resp.append("oracle.install.db.config.starterdb.memoryLimit=");
		resp.append("oracle.install.db.config.starterdb.installExampleSchemas=");
		resp.append("oracle.install.db.config.starterdb.password.ALL=oracle");
		resp.append("oracle.install.db.config.starterdb.password.SYS=");
		resp.append("oracle.install.db.config.starterdb.password.SYSTEM=");
		resp.append("oracle.install.db.config.starterdb.password.DBSNMP=");
		resp.append("oracle.install.db.config.starterdb.password.PDBADMIN=");
		resp.append("oracle.install.db.config.starterdb.managementOption=DEFAULT");
		resp.append("oracle.install.db.config.starterdb.omsHost=");
		resp.append("oracle.install.db.config.starterdb.omsPort=");
		resp.append("oracle.install.db.config.starterdb.emAdminUser=");
		resp.append("oracle.install.db.config.starterdb.emAdminPassword=");
		resp.append("oracle.install.db.config.starterdb.enableRecovery=false");
		resp.append("oracle.install.db.config.starterdb.storageType=");
		resp.append("oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=");
		resp.append("oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=");
		resp.append("oracle.install.db.config.asm.diskGroup=");
		resp.append("oracle.install.db.config.asm.ASMSNMPPassword=");
	}
	
	private void createFileFor12203(){
		resp.append("oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0");
		resp.append("oracle.install.option=INSTALL_DB_SWONLY");
		resp.append("UNIX_GROUP_NAME=oinstall");
		resp.append("INVENTORY_LOCATION=" + para.getOraclePath() + "/app/oraInventory");
		resp.append("ORACLE_HOME=" + para.getOraclePath() + "/app/oracle/product/" + para.getVersion() + "/db_1");
		resp.append("ORACLE_BASE=" + para.getOraclePath() + "/app/oracle");
		resp.append("oracle.install.db.InstallEdition=EE");
		resp.append("oracle.install.db.DBA_GROUP=dba");
		resp.append("oracle.install.db.OPER_GROUP=oinstall");
		resp.append("oracle.install.db.BACKUPDBA_GROUP=dba");
		resp.append("oracle.install.db.DGDBA_GROUP=dba");
		resp.append("oracle.install.db.KMDBA_GROUP=dba");
		resp.append("oracle.install.db.OSRACDBA_GROUP=dba");
		resp.append("oracle.install.db.rootconfig.executeRootScript=false");
		resp.append("oracle.install.db.rootconfig.configMethod=");
		resp.append("oracle.install.db.rootconfig.sudoPath=");
		resp.append("oracle.install.db.rootconfig.sudoUserName=");
		resp.append("oracle.install.db.CLUSTER_NODES=");
		resp.append("oracle.install.db.config.starterdb.type=GENERAL_PURPOSE");
		resp.append("oracle.install.db.config.starterdb.globalDBName=" + para.getInstanceName());
		resp.append("oracle.install.db.config.starterdb.SID=" + para.getInstanceName());
		resp.append("oracle.install.db.ConfigureAsContainerDB=false");
		resp.append("oracle.install.db.config.PDBName=");
		resp.append("oracle.install.db.config.starterdb.characterSet=" + para.getCharsetType());
		resp.append("oracle.install.db.config.starterdb.memoryOption=true");
		resp.append("oracle.install.db.config.starterdb.memoryLimit=");
		resp.append("oracle.install.db.config.starterdb.installExampleSchemas=");
		resp.append("oracle.install.db.config.starterdb.password.ALL=oracle");
		resp.append("oracle.install.db.config.starterdb.password.SYS=");
		resp.append("oracle.install.db.config.starterdb.password.SYSTEM=");
		resp.append("oracle.install.db.config.starterdb.password.DBSNMP=");
		resp.append("oracle.install.db.config.starterdb.password.PDBADMIN=");
		resp.append("oracle.install.db.config.starterdb.managementOption=DEFAULT");
		resp.append("oracle.install.db.config.starterdb.omsHost=");
		resp.append("oracle.install.db.config.starterdb.omsPort=");
		resp.append("oracle.install.db.config.starterdb.emAdminUser=");
		resp.append("oracle.install.db.config.starterdb.emAdminPassword=");
		resp.append("oracle.install.db.config.starterdb.enableRecovery=false");
		resp.append("oracle.install.db.config.starterdb.storageType=");
		resp.append("oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=");
		resp.append("oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=");
		resp.append("oracle.install.db.config.asm.diskGroup=");
		resp.append("oracle.install.db.config.asm.ASMSNMPPassword=");
	}
	
	public void createFile(){
		resp.init();
		if(para.getDbtype().equals("11.2.0.1"))
			createFileFor11201();
		else if(para.getDbtype().equals("11.2.0.4"))
			createFileFor11204();
		else if(para.getDbtype().equals("12.1.0.2"))
			createFileFor12102();
		else if(para.getDbtype().equals("12.2.0.1"))
			createFileFor12201();
		else if(para.getDbtype().equals("12.2.0.2"))
			createFileFor12202();
		else if(para.getDbtype().equals("12.2.0.3"))
			createFileFor12203();
		resp.close();
		resp = null;
	}	

	@SuppressWarnings("unused")
	private class Decompile{
		
	}
}
